package lambdademo;

import java.util.*;
import java.util.function.Consumer;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * Date: 2025-03-29
 * Time: 19:52
 */
interface NoParameterNoReturn{
    //注意，只能有一个抽象方法
    void test();
}
//⽆返回值⼀个参数
@FunctionalInterface
interface OneParameterNoReturn {
    void test(int a);
}
//⽆返回值多个参数
@FunctionalInterface
interface MoreParameterNoReturn {
    void test(int a,int b);
}
//有返回值⽆参数
@FunctionalInterface
interface NoParameterReturn {
    int test();
}
//有返回值⼀个参数
@FunctionalInterface
interface OneParameterReturn {
    int test(int a);
}
//有返回值多参数
@FunctionalInterface
interface MoreParameterReturn {
    int test(int a,int b);
}

public class Test {
    public static void main(String[] args) {
        HashMap<Integer,String> map = new HashMap<>();
        map.put(1,"hello");
        map.put(2,"bit");
        map.put(3,"abc");
        map.put(4,"lambda");
    }

    public static void main2(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("hello");
        list.add("bit");
        list.add("abc");
        list.add("lambda");

//        list.forEach(new Consumer<String>() {
//            @Override
//            public void accept(String s) {
//                System.out.println(s);
//            }
//        });

        list.forEach(s-> System.out.println(s));

//        list.sort(new Comparator<String>() {
//            @Override
//            public int compare(String o1, String o2) {
//                return o1.compareTo(o2);
//            }
//        });

        list.sort((x,y)->x.compareTo(y));
    }
    public static void main1(String[] args) {
        NoParameterNoReturn noParameterNoReturn = new NoParameterNoReturn() {
            @Override
            public void test() {
                System.out.println("hello");
            }
        };

        noParameterNoReturn.test();

    }
}
